package dd.prog2.exercises.set06;

/*
 * Schreiben Sie schließlich eine Anwendung, die Folgendes abwickelt:
 1. Eine Lokomotive „Big Chief“ mit der Nummer 5311 und der Länge 23 m wird
 erzeugt.
 2. Ein Zug namens „Santa Fe“ mit der Lokomotive „Big Chief“ wird erzeugt.
 3. An „Santa Fe“ werden drei Wagen mit den Längen 12 m, 15 m, 20 m und den
 Passagierkapazitäten 50, 75, 100 Personen angehängt.
 4. Eine Lokomotive „Steel Horse“ mit der Nummer 5409 und der Länge 21 m wird
 erzeugt.
 5. Ein Zug namens „Rio Grande Express“ mit der Lokomotive „Steel Horse“ wird
 erzeugt.
 6. An den „Rio Grande Express“ werden zwei Wagen mit den Längen 13 m und 18
 m sowie den Passagierkapazitäten 60 und 80 Personen angehängt.
 7. Alle Wagen von „Santa Fe“ werden in den „Rio Grande Express“ übernommen.
 8. Die Wagenreihenfolge im „Rio Grande Express“ wird umgedreht.
 */

public class _main {

	public static void main(String[] args) {
		Locomotive bigChief = new Locomotive(5311, 23);
		Train SantaFe = new Train(bigChief);
		SantaFe.add(new Car(12, 50), 0);
		SantaFe.add(new Car(15, 75), 1);
		SantaFe.add(new Car(20, 100), 2);

		Locomotive SteelHorse = new Locomotive(5409, 21);
		Train RioGrandeExpress = new Train(SteelHorse);
		RioGrandeExpress.add(new Car(13, 60), 0);
		RioGrandeExpress.add(new Car(18, 80), 1);

		System.out.println("Train: Santa Fe\n"+ SantaFe.toString());
		System.out.println("- - - - - - - - - - - - - - - - - - - - - - - -");
		System.out.println("Train: Rio Grande Express\n"+ RioGrandeExpress.toString());
		System.out.println("- - - - - - - - - - - - - - - - - - - - - - - -");
		RioGrandeExpress.relink(SantaFe);
		System.out.println("Train: Rio Grande Express(relink with Santa Fe)\n"+ RioGrandeExpress.toString());
		System.out.println("- - - - - - - - - - - - - - - - - - - - - - - -");
		System.out.println("Train: Santa Fe(no cars after relink)\n"+SantaFe.toString());
		System.out.println("- - - - - - - - - - - - - - - - - - - - - - - -");
		RioGrandeExpress.revert();
		System.out.println("Train: Rio Grande Express(reverted)\n"+ RioGrandeExpress.toString());
	}
}
